package cource.FinalExam;

import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.HashSet;

/**
 * @author zeng
 * @data 2021/05/16 20:48
 */
//顺序查找线程
public class OrderSeekThread extends Thread{
    private Integer[] arr;
    private int key;
    Date starttime;
    Date endtime;
    String flag;
    String gaptime;
    int Count;

    public OrderSeekThread(Integer[] arr, int key) {
        this.arr = arr;
        this.key = key;
        this.flag = "false";
    }

    @Override
    public void run() {
//        //写入文件数据并设置数组
//        BufferedReader bf = null;
//        //设置集合接收数据
//        HashSet<Integer> list = new HashSet<>();
//        //开始时间，时间格式
//        try {
//            bf = new BufferedReader(new FileReader(new File(filename)));
//            //接收读取的字符
//            String str = null;
//            while((str = bf.readLine()) != null){
//                list.add(Integer.parseInt(str.replaceAll("\\s*", "")));//转化为数字
//            }
//            //转换为数组并排序
//            Integer[] arr = new Integer[list.size()];
//            list.toArray(arr);
//            Arrays.sort(arr);
//
//        } catch (FileNotFoundException e) {
//            e.printStackTrace();
//        } catch (IOException e) {
//            e.printStackTrace();
//        } finally {
//            //关闭文件资源
//            if(bf != null){
//                try {
//                    bf.close();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//            }
//        }
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss:SS");
        //this.starttime = simpleDateFormat.format(new Date());
        this.starttime = new Date();
        //进行顺序查找
        int length = arr.length;
        for (int i = 0; i < length; i++) {
            if(arr[i] == this.key){
                this.flag = "true";
                this.Count++;
                while((i) < length && arr[i + 1] == this.key){
                    i++;
                    this.Count++;
                }
                break;
            }
        }
        //this.endtime = simpleDateFormat.format(new Date());
        this.endtime = new Date();
        this.gaptime = (endtime.getTime() - starttime.getTime()) + "ms";
    }
}
